Program Equivalence with Names

نویسنده

  • Nikos Tzevelekos
چکیده

The nu-calculus of Pitts and Stark was introduced as a paradigmatic functional language with a very basic local-state effect: references of unit type. These were called names, and the motto of the new language went as follows. “Names are created with local scope, can be tested for equality, and are passed around via function application, but that is all.” Because of this limited framework, the hope was that fully abstract models and complete proof techniques could be obtained. However, it was soon realised that the behaviour of nu-calculus programs is quite intricate, and program equivalence in particular is surprisingly difficult to capture. Here we focus on the following “hard” equivalence, new x, y in λf.(fx = fy) ≡ λf. true where x, y are names, and f : Name → Bool. We examine attempts and proofs of the above, explain the advantages and disadvantages of the proof methods and discuss why program equivalence in this simple language remains to date a mystery.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Structural recursion with locally scoped names

This paper introduces a new recursion principle for inductively defined data modulo α-equivalence of bound names that makes use of Odersky-style local names when recursing over bound names. It is formulated in simply typed λ-calculus extended with names that can be restricted to a lexical scope, tested for equality, explicitly swapped and abstracted. The new recursion principle is motivated by ...

متن کامل

Contextual equivalence for inductive definitions with binders in higher order typed functional programming

Correct handling of names and binders is an important issue in meta-programming. This paper presents an embedding of constraint logic programming into the αML functional programming language, which provides a provably correct means of implementing proof search computations over inductive definitions involving names and binders modulo α-equivalence. We show that the execution of proof search in ...

متن کامل

Representing names with variables in nominal abstract syntax

We describe a new approach to nominal abstract syntax where object-language names are represented using variables in the meta-language, as opposed to concrete atoms. As well as providing additional flexibility through the ability to perform aliasing between bound and free names, this approach more closely models informal practice in the specification of inductively-defined relations. We present...

متن کامل

A study of substitution, using nominal techniques and Fraenkel-Mostowksi sets

Fraenkel-Mostowski (FM) set theory delivers a model of names and alpha-equivalence. This model, now generally called the ‘nominal’ model, delivers inductive datatypes of syntax with alpha-equivalence — rather than inductive datatypes of syntax, quotiented by alpha-equivalence. The treatment of names and alpha-equivalence extends to the entire sets universe. This has proven useful for developing...

متن کامل

Names, Equations, Relations: Practical Ways to Reason about new

The nu-calculus of Pitts and Stark is a typed lambda-calculus, extended with state in the form of dynamically-generated names. These names can be created locally, passed around, and compared with one another. Through the interaction between names and functions, the language can capture notions of scope, visibility and sharing. Originally motivated by the study of references in Standard ML, the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010